package com.seashell.appstartupjob.utils;

import org.apache.commons.lang3.StringUtils;
import org.dom4j.Element;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * com.seashell.appstartupjob.utils.ElementUtil
 *
 * @author Allen
 * @version v1.0
 * @date 2017/7/18
 */
public class ElementUtil {

    /**
     * 获取节点中的字符串节点值
     * @param e 节点
     * @param nodeName 子节点名称
     * @return
     */
    public static String getElementValue(Element e,String nodeName){
        Element element = e.element(nodeName);
        if(element==null){
            return null;
        }
        return element.getStringValue();
    }

    /**
     * 获取节点中列表节点的值
     * @param e 节点
     * @param nodeName 子节点名称
     * @param subNodeName 子节点中列表元素名称
     * @return
     */
    public static List<String> getListElementValue(Element e,String nodeName,String subNodeName){
        Element element = e.element(nodeName);
        if(element==null){
            return null;
        }
        List<String> targetList = new ArrayList<>();
        Iterator<Element> iterator = element.elementIterator(subNodeName);
        while (iterator.hasNext()){
            Element next = iterator.next();
            String stringValue = next.getStringValue();
            if(!StringUtils.isEmpty(stringValue)){
                targetList.add(stringValue);
            }
        }
        return targetList;
    }

}
